package com.sg.dto.biz.app.req;

import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;

/**
 * @desc ImplementAutoReportConditionModelComReqDto
 * @使用场景
 */
@Data
public class ImplementAutoReportConditionModelComReqDto
        extends BaseDto
        implements Serializable {

    /**
     * 预算元素
     */
    @ApiModelProperty("预算元素")
    private Long budgetAmountElement;

    /**
     * 实际值计算公式 SYSTEM_DOCKING:系统对接实际值 MANUAL_REPORT:人工填报实际值 CLONE_EVA_OBJECT:当前树实际值克隆主树 PERSONAL_KR_ACTUAL_CLONE_EVA_KR:11111个人树KR实际值克隆主树KR STANDARD_OBJECT_CLONE_EVA_OBJECT_ACTUAL:11111OKR部门树标准O实际值克隆主树（+KR） CUSTOM_OBJECT_CLONE_PERSONAL_ACTUAL:11111OKR部门树自定义O实际值克隆个人树（+KR） RIGHTWARD_CALCULATION:向左取最近可循环周期最新 RIGHTWARD_CALCULATION_SUM:向左取最近可循环周期求和 DOWNWARD_CALCULATION_SUM:向下计算参照值不赋值（求和） DOWNWARD_CALCULATION_SUM_COPY:向下计算参照值并赋值（求和） DOWNWARD_CALCULATION_WEIGHT:向下计算参照值不赋值（权重求和） DOWNWARD_CALCULATION_WEIGHT_COPY:向下计算参照值并赋值（权重求和） EVA_DOWNWARD_CALCULATION_SUM:向下只计算实际值（求和） EVA_DOWNWARD_CALCULATION_WEIGHT:向下只计算实际值（权重求和）
     */
    @ApiModelProperty("实际值计算公式")
    private String actualValueCalcFormula;

    /**
     * 进度值计算公式 MANUAL_REPORT:人工填报进度值 CLONE_EVA_OBJECT:当前树进度值克隆主树 OKR_PERSONAL_CLONE_EVA_OBJECT_PROGRESS:11111个人树KR进度值克隆主树KR STANDARD_OBJECT_CLONE_EVA_OBJECT_PROGRESS:11111OKR部门树标准O进度值克隆主树（+KR） CUSTOM_OBJECT_CLONE_PERSONAL_PROGRESS:11111OKR部门树自定义O进度值克隆个人树（+KR） RIGHTWARD_CALCULATION:向左取最近可循环周期最新 DOWNWARD_CALCULATION_NOKR:评价对象树向下计算参照值不赋值 DOWNWARD_CALCULATION_NOKR_COPY:评价对象树向下计算参照值并赋值 DOWNWARD_CALCULATION_KR:11111主树向下计算参照值不赋值（O加KR） DOWNWARD_CALCULATION_KR_COPY:11111主树向下计算参照值并赋值（O加KR） DOWNWARD_CALCULATION_ONLY_KR:11111主树向下计算参照值并赋值（KR） DOWNWARD_CALCULATION_PROGRESS:部门目标任务书树非末级只向下计算进度值 EVA_DOWNWARD_CALCULATION_PROGRESS:评价对象树只向下计算进度值
     */
    @ApiModelProperty("进度值计算公式")
    private String progressValueCalcFormula;

    /**
     * 目标得分主客观变量 SUBJECTIVE:主观得分 OBJECTIVE:客观得分 SUBJECTIVE_AND_OBJECTIVE:主观得分+客观得分
     */
    @ApiModelProperty("目标得分主客观变量")
    private String subAndObjModel;

}
